#define _CRT_SECURE_NO_WARNINGS 1

//#include<stdio.h>
//#include<string.h>
//#include<assert.h>
//void reverse(char* str)
//{
//	assert(str != NULL);
//	int left = 0;
//	int right = strlen(str) - 1;
//	while (left < right)
//	{
//		char tmp = *(str + left);
//		*(str + left) = *(str + right);
//		*(str + right) = tmp;
//		left++;
//		right--;
//	}
//}

	
//int  main()
//{
//	char ch[] = "abcdef";
//	reverse(ch);
//	printf("%s", ch);
//	return 0;
//}

//#include<stdio.h>
//#include<assert.h>
//char* reverse(char* dest, char* str)
//{
//	char* ret = dest;
//	while (*dest++ = *str++)
//	assert(dest && str);
//	{
//		;
//	}
//	return ret;
//}
//int main()
//{
//	char ch1[] = "#############";
//	char ch2 [] = "abcdef";
//	printf("%s", reverse(ch1, ch2));
//	return 0;
//}
#include<stdio.h>

int main()
{
	int i = 0;
	int j = 0;
	int n = 0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%-2d ", i, j, i * j);
		}
		printf("\n");
	}

	return 0;
}